package com.itheima.mapper;

import com.itheima.pojo.User;
import org.apache.ibatis.annotations.*;

import java.util.List;

@Mapper//应用程序在运行时，会自动的为该接口创建一个实现类，
// 这个实现类就是MyBatis自动生成的一个代理对象，并且会自动将这个实现类注入到IOC容器中。
// 这个代理对象会根据接口中的方法来生成SQL语句，并执行SQL语句，返回结果。
public interface UserMapper {

    //@Select("select * from user")
    public List<User> findAll();

    @Delete("delete from user where id = #{id}")
    public void deleteById(Integer id);

    @Insert("insert into user(username,password,name,age) values (#{username},#{password},#{name},#{age})")
    public void insert(User user);

    @Update("update user set username=#{username},password=#{password},name=#{name},age=#{age} where id=#{id}")
    public Integer update(User user);

    @Select("select * from user where username = #{username} and password=#{password}")
    public User findByUsernameAndPassword(@Param("username") String username, @Param("password") String password);

}